# Makefile

NAME = mjr
LSYST = linsyst
LOGLIB = logtime

CC = gcc
CUCC = nvcc

CFLAGS = -Wall

HDIR = inc
ODIR = obj
SDIR = src

all: $(NAME)-cpu $(NAME)-cuda

$(NAME)-cuda: $(SDIR)/$(NAME)-cuda.cu $(SDIR)/$(LSYST).c $(SDIR)/$(LOGLIB).c
	$(CUCC) -I$(HDIR) -o $@ $^

$(NAME)-cpu: $(ODIR)/$(NAME)-cpu.o $(ODIR)/$(LSYST).o $(ODIR)/$(LOGLIB).o
	$(CC) -o $@ $^

$(ODIR)/$(NAME)-cpu.o: $(SDIR)/$(NAME)-cpu.c $(ODIR)
	$(CC) $(CFLAGS) -I$(HDIR) -o $@ -c  $<

$(ODIR)/$(LSYST).o: $(SDIR)/$(LSYST).c $(ODIR)
	$(CC) $(CFLAGS) -I$(HDIR) -o $@ -c  $<

$(ODIR)/$(LOGLIB).o: $(SDIR)/$(LOGLIB).c $(ODIR)
	$(CC) $(CFLAGS) -I$(HDIR) -o $@ -c  $<

$(ODIR):
	mkdir -p $@

clean:
	rm -rf $(ODIR)/*.o $(NAME)-cpu
